﻿<p>An <em>IfcImageTexture</em> provides a 2-dimensional texture that can be applied to a surface of an geometric item and that provides lighting parameters of a surface onto which it is mapped. The texture is provided as an image file at an external location for which an URL is provided.</p>

<p>The following definitions from ISO/IEC 19775-1 X3D Architecture and base components (<a href="http://www.web3d.org/x3d/specifications/">X3D Specification</a>) apply:</p>
<ul style="list-style-type:disk;font-size:smaller>
<li>The ImageTexture node defines a texture map by specifying an image file and general parameters for mapping to geometry.</li> 
<li>The texture is read from the URL specified by the url field. When the url field contains no [resolvable] values, texturing is disabled. Browsers shall support the JPEG and PNG (see ISO/IEC 15948) image file formats.</li>
<li>Texture nodes that require support for the PNG image format shall interpret the PNG pixel formats in the following way:
<ol type="a">
<li>Greyscale pixels without alpha or simple transparency are treated as intensity textures.</li>
<li>Greyscale pixels with alpha or simple transparency are treated as intensity plus alpha textures.</li>
<li>RGB pixels without alpha channel or simple transparency are treated as full RGB textures.</li>
<li>RGB pixels with alpha channel or simple transparency are treated as full RGB plus alpha textures.</li>
</ol>
</li>
<li>If the image specifies colours as indexed-colour (that is, palettes or colourmaps), the following semantics should be used (note that `greyscale' refers to a palette entry with equal red, green, and blue values):
<ol type="a">
<li>If all the colours in the palette are greyscale and there is no transparency chunk, it is treated as an intensity texture.</li>
<li>If all the colours in the palette are greyscale and there is a transparency chunk, it is treated as an intensity plus opacity texture.</li>
<li>&gt;If any colour in the palette is not grey and there is no transparency chunk, it is treated as a full RGB texture.</li>
<li>If any colour in the palette is not grey and there is a transparency chunk, it is treated as a full RGB plus alpha texture.</li>
</ol>
</li>
<li>Texture nodes that require support for JPEG files shall interpret JPEG files as follows:
<ol type="a">
<li>Greyscale files (number of components equals 1) are treated as intensity textures.</li>
<li>YCbCr files are treated as full RGB textures.</li>
<li>No other JPEG file types are required. It is recommended that other JPEG files are treated as a full RGB textures.</li>
</ol>
</li>
<li>Texture nodes that recommend support for GIF files shall follow the applicable semantics described above for the PNG format.</li>
</ul>

<p>The Uniform Resource Locator (URL) is a form of an URI and specified in <a href="http://www.ietf.org/rfc/rfc1738.txt?number=1738">RFC1738</a> by IETF. It supports resources located on a particular server being accessed by a particular protocol (usually http), and resources located at a local machine.</p>

<blockquote class="note">
NOTE&nbsp; Exchange files following the ifcZIP convention may include a sub directory structure for image resources to be stored together with the product data set.
</blockquote>

<blockquote class="note">
<p><span style="font-size:smaller;color:blue">NOTE&nbsp; The definitions of texturing within this standard have been developed in dependence on the texture component of X3D. See ISO/IEC 19775-1.2:2008 X3D Architecture and base components Edition 2, Part 1, 18 Texturing component for the definitions in the international standard.
</blockquote>

<blockquote class="history">
HISTORY&nbsp; New entity in  IFC2x2.
</blockquote>